package com.mrjy.common.entity;

import java.io.Serializable;
import java.math.BigDecimal;
import java.sql.Timestamp;
import java.util.Arrays;
import java.util.Date;

import com.mrjy.common.util.ExcelField;
/**
 * 在线答疑-问题
 * @author Administrator
 *
 */
public class QuestionInfo extends BaseEntity implements Serializable{

    /**
     *
     */
    private static final long serialVersionUID = 9104777621813160324L;

    //提问人
    @ExcelField(title="序号")
    private Integer userId;
    //问题内容
    @ExcelField(title="标题")
    private String questionContent;
    /*问题背景描述*/
    @ExcelField(title="描述")
    private String questionDesc;
    //类型名称
    @ExcelField(title="标签")
    private String typeName;
    //点赞用户名
    @ExcelField(title="提问者")
    private String userName;
    //问题时间
    @ExcelField(title="提问时间")
    private Date questionTime;
    //问题长度
    @ExcelField(title="回答数")
    private Integer commentNum;
    //浏览量
    @ExcelField(title="浏览量")
    private Integer questionViewNum;

    private String questionTimeString;
    //图片地址
    private String imgArr;

    //提问类型
    private Integer typeId;
    private Integer[] typeIds;
    
    /**
     * 更新时间
     */
    private Timestamp updateTime; 


    //点赞数量
    private Integer goodNum;

    //问题优先级
    private Integer priority;

    

    private String[] imgArray;
    //点赞状态
    private Integer goodStatus;



    //用户图像
    private String userImg;

    //开始时间
    private String startTimeStr;

    //结束时间
    private String endTimeStr;

    //开始日期
    private Long startDate;

    //结束日期
    private Long endDate;

    /**
     * 用户微信头像，DTO返回数据
     */
    private String headImgUrl;

    /**
     * sortType 排序类型，用于最新最热排序使用  new:最新 ， hot: 最火
     */
    private String sortType;

    /**
     * 微信openid,用于发送微信模板
     */
    private String weixinOpenid;

    /**
     * 被邀请导师的id
     */
    private Integer invitedPersonId;

    /**
     * 是不是匿名
     */
    private Integer isAnonymous;

    /**
     * 是否超过了三天
     */
    private Integer gapTime;
    /**
     * 是否超过了三天
     */
    private Integer isOverThreeDay;

    private Integer commentId;

    private String recordName;

    private BigDecimal askedPrice;

    private Integer roleId;

    private Integer goodUserId;

    /**
     * 导师看自己的匿名提问，向其他用户一样在个人空间里面的问答
     * 访问的类型 （ 0：最新 ，1：个人主页里面的问答（）  ，2：个人主页,明师主页动态）
     */
    private int accessType;
    
    private Integer isPay; //是否是付费提问  1--文字提问   2--付费提问 

    private Integer customTypeId; //自定义type_id

    private String cmProgramIdTwo; // 第二个外键

    private Integer similarDepth; //相关问题深度

    private Integer videoId; //视频Id

    private Integer teacherFlag; //老师标志位

    private Integer freeFlag; //免费标志（0：免费，1：收费）
    
    private String dataSource ; //数据来源(0:微信服务号；1：微信小程序)
    
    private String isStick; //是否置顶  0-未置顶  1-已置顶

    public Integer getRoleId() {
        return roleId;
    }

    public void setRoleId(Integer roleId) {
        this.roleId = roleId;
    }

    public Integer getUserId() {
        return userId;
    }

    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    public String getQuestionContent() {
        return questionContent;
    }

    public void setQuestionContent(String questionContent) {
        this.questionContent = questionContent;
    }

    public Date getQuestionTime() {
        return questionTime;
    }

    public void setQuestionTime(Date questionTime) {
        this.questionTime = questionTime;
    }

    public String getImgArr() {
        return imgArr;
    }

    public void setImgArr(String imgArr) {
        this.imgArr = imgArr;
    }

    public Integer getTypeId() {
        return typeId;
    }

    public void setTypeId(Integer typeId) {
        this.typeId = typeId;
    }

    public Integer getCommentNum() {
        return commentNum;
    }

    public void setCommentNum(Integer commentNum) {
        this.commentNum = commentNum;
    }

    public Integer getGoodNum() {
        return goodNum;
    }

    public void setGoodNum(Integer goodNum) {
        this.goodNum = goodNum;
    }

    public Integer getPriority() {
        return priority;
    }

    public void setPriority(Integer priority) {
        this.priority = priority;
    }

    public String getQuestionTimeString() {
        return questionTimeString;
    }

    public void setQuestionTimeString(String questionTimeString) {
        this.questionTimeString = questionTimeString;
    }

    public String[] getImgArray() {
        return imgArray;
    }

    public void setImgArray(String[] imgArray) {
        this.imgArray = imgArray;
    }

    public String getTypeName() {
        return typeName;
    }

    public void setTypeName(String typeName) {
        this.typeName = typeName;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getUserImg() {
        return userImg;
    }

    public void setUserImg(String userImg) {
        this.userImg = userImg;
    }

    public Integer getGoodStatus() {
        return goodStatus;
    }

    public void setGoodStatus(Integer goodStatus) {
        this.goodStatus = goodStatus;
    }

    public Long getStartDate() {
        return startDate;
    }

    public void setStartDate(Long startDate) {
        this.startDate = startDate;
    }

    public Long getEndDate() {
        return endDate;
    }

    public void setEndDate(Long endDate) {
        this.endDate = endDate;
    }

    public String getQuestionDesc() {
        return questionDesc;
    }

    public void setQuestionDesc(String questionDesc) {
        this.questionDesc = questionDesc;
    }


    public Integer getQuestionViewNum() {
        return questionViewNum;
    }

    public void setQuestionViewNum(Integer questionViewNum) {
        this.questionViewNum = questionViewNum;
    }

    public String getHeadImgUrl() {
        return headImgUrl;
    }

    public void setHeadImgUrl(String headImgUrl) {
        this.headImgUrl = headImgUrl;
    }


    public String getSortType() {
        return sortType;
    }

    public void setSortType(String sortType) {
        this.sortType = sortType;
    }

    public String getWeixinOpenid() {
        return weixinOpenid;
    }

    public void setWeixinOpenid(String weixinOpenid) {
        this.weixinOpenid = weixinOpenid;
    }

    @Override
    public String toString() {
        return "QuestionInfo [userId=" + userId + ", questionContent="
                + questionContent + ", questionTime=" + questionTime
                + ", imgArr=" + imgArr + ", typeId=" + typeId + ", commentNum="
                + commentNum + ", goodNum=" + goodNum + ", priority="
                + priority + ", questionTimeString=" + questionTimeString
                + ", imgArray=" + Arrays.toString(imgArray) + ", typeName="
                + typeName + ", userName=" + userName + ", userImg=" + userImg
                + ", getIds()=" + Arrays.toString(getIds())
                + ", getDisableFlag()=" + getDisableFlag() + ", getId()="
                + getId() + ", getPage()=" + getPage() + ", getRows()="
                + getRows() + ", getPageStart()=" + getPageStart()
                + ", getMessageString()=" + getMessageString() + ", getHtml()="
                + getHtml() + ", getText()=" + getText() + ", getClass()="
                + getClass() + ", hashCode()=" + hashCode() + ", toString()="
                + super.toString() + "]";
    }

    public Integer getInvitedPersonId() {
        return invitedPersonId;
    }

    public void setInvitedPersonId(Integer invitedPersonId) {
        this.invitedPersonId = invitedPersonId;
    }

    public Integer getIsOverThreeDay() {
        return isOverThreeDay;
    }

    public void setIsOverThreeDay(Integer isOverThreeDay) {
        this.isOverThreeDay = isOverThreeDay;
    }

    public Integer getIsAnonymous() {
        return isAnonymous;
    }

    public void setIsAnonymous(Integer isAnonymous) {
        this.isAnonymous = isAnonymous;
    }

    public Integer getGapTime() {
        return gapTime;
    }

    public void setGapTime(Integer gapTime) {
        this.gapTime = gapTime;
    }

    public Integer getCommentId() {
        return commentId;
    }

    public void setCommentId(Integer commentId) {
        this.commentId = commentId;
    }

    public String getRecordName() {
        return recordName;
    }

    public void setRecordName(String recordName) {
        this.recordName = recordName;
    }

    public BigDecimal getAskedPrice() {
        return askedPrice;
    }

    public void setAskedPrice(BigDecimal askedPrice) {
        this.askedPrice = askedPrice;
    }

	public Integer[] getTypeIds() {
		return typeIds;
	}

	public void setTypeIds(Integer[] typeIds) {
		this.typeIds = typeIds;
	}


    public Integer getGoodUserId() {
        return goodUserId;
    }

    public void setGoodUserId(Integer goodUserId) {
        this.goodUserId = goodUserId;
    }

    public int getAccessType() {
        return accessType;
    }

    public void setAccessType(int accessType) {
        this.accessType = accessType;
    }

	public String getStartTimeStr() {
		return startTimeStr;
	}

	public void setStartTimeStr(String startTimeStr) {
		this.startTimeStr = startTimeStr;
	}

	public String getEndTimeStr() {
		return endTimeStr;
	}

	public void setEndTimeStr(String endTimeStr) {
		this.endTimeStr = endTimeStr;
	}

	public Integer getIsPay() {
		return isPay;
	}

	public void setIsPay(Integer isPay) {
		this.isPay = isPay;
	}


    public Integer getCustomTypeId() {
        return customTypeId;
    }

    public void setCustomTypeId(Integer customTypeId) {
        this.customTypeId = customTypeId;
    }

    public String getCmProgramIdTwo() {
        return cmProgramIdTwo;
    }

    public void setCmProgramIdTwo(String cmProgramIdTwo) {
        this.cmProgramIdTwo = cmProgramIdTwo;
    }

    public Integer getSimilarDepth() {
        return similarDepth;
    }

    public void setSimilarDepth(Integer similarDepth) {
        this.similarDepth = similarDepth;
    }

    public Integer getVideoId() {
        return videoId;
    }

    public void setVideoId(Integer videoId) {
        this.videoId = videoId;
    }

    public Integer getTeacherFlag() {
        return teacherFlag;
    }

    public void setTeacherFlag(Integer teacherFlag) {
        this.teacherFlag = teacherFlag;
    }

    public Integer getFreeFlag() {
        return freeFlag;
    }

    public void setFreeFlag(Integer freeFlag) {
        this.freeFlag = freeFlag;
    }

	public String getDataSource() {
		return dataSource;
	}

	public void setDataSource(String dataSource) {
		this.dataSource = dataSource;
	}

	public Timestamp getUpdateTime() {
		return updateTime;
	}

	public void setUpdateTime(Timestamp updateTime) {
		this.updateTime = updateTime;
	}

	public String getIsStick() {
		return isStick;
	}

	public void setIsStick(String isStick) {
		this.isStick = isStick;
	}
    
}
